﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GoodTrader.GTOrder
{
    public class CAccount
    {
        public CAccount(string a_Number)
        {
            m_Number = a_Number;
        }
        // 계좌 활성화 여부 - 활성화 되었을 때만이 주문이 들어간다.
        private bool m_Enable = true;
        public bool Enable
        {
            get { return m_Enable; }
            set { m_Enable = value; }
        }
        // 주문 관리자에 대한 참조 객체
        private COrderManager m_OrderManager = null;
        public GoodTrader.GTOrder.COrderManager OrderManager
        {
            get { return m_OrderManager; }
            set { m_OrderManager = value; }
        }
        
        public void RequestOrder(GTOrder.COrderParameter a_OrderParameter)
        {
            if (m_OrderManager == null || a_OrderParameter == null)
                return;
            m_OrderManager.RequestOrder(a_OrderParameter, this);
        }

        // 계좌 번호
        private string m_Number = "";
        public string Number
        {
            get { return m_Number; }
            set { m_Number = value; }
        }

        // 계좌 이름
        private string m_Name = "";
        public string Name
        {
            get { return m_Name; }
            set { m_Name = value; }
        }

        // 잔고 코드
        private string m_RemainCode = "";
        public string RemainCode
        {
            get { return m_RemainCode; }
            set { m_RemainCode = value; }
        }
        // 잔고
        private int m_Remain = 0;
        public int Remain
        {
            get { return m_Remain; }
            set { m_Remain = value; }
        }
        // 청산가능 수량
        private int m_LiqAmount = 0;
        public int LiqAmount
        {
            get { return m_LiqAmount; }
            set { m_LiqAmount = value; }
        }
    }
}
